from method import Method, Param, KeywordParam, String, Boolean, Integer

class Get(Method):
    """
    This method returns a list of Categories for the specified user (identified
    by SessionID or (optional) NickName).

    Arguments:
    String NickName (optional)
    String SitePassword (optional)
    """

    name = 'smugmug.categories.get'
    keywordParams = (    
        KeywordParam('NickName', String),
        KeywordParam('SitePassword', String)
    )
    responseKey = 'Categories'
    
get = Get()

class Create(Method):
    """
    This method creates a new Category with the given Name.

    Arguments:
    String Name
    """

    name = 'smugmug.categories.create'
    params = (
        Param('Name', String),
    )

create = Create()

class Delete(Method):
    """
    This method deletes the specified Category.

    Arguments:
    Integer CategoryID
    """

    name = 'smugmug.categories.delete'
    params = (
        Param('CategoryID', Integer),
    )

delete = Delete()

class Rename(Method):
    """
    This method renames the specified Category with new Name.

    Arguments:
    Integer CategoryID
    String Name
    """

    name = 'smugmug.categories.rename'
    params = (
        Param('CategoryID', Integer),
        Param('Name', String)
    )

rename = Rename()
